package com.zkt.subject.infra.basic.entity;

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.TableId;

import java.io.Serial;
import java.time.LocalDateTime;
import java.io.Serializable;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 * 题目信息表
 * </p>
 *
 * @author 赵开泰
 * @since 2024-10-05
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("subject_info")
public class SubjectInfo implements Serializable {
	
	@Serial
	private static final long serialVersionUID = 1L;
	
	/**
	 * 主键
	 */
	@TableId(value = "id")
	private Long id;
	
	/**
	 * 题目名称
	 */
	@TableField("subject_name")
	private String subjectName;
	
	/**
	 * 题目难度
	 */
	@TableField("subject_difficult")
	private Integer subjectDifficult;
	
	/**
	 * 出题人名
	 */
	@TableField("settle_name")
	private String settleName;
	
	/**
	 * 题目类型 1、单选 2、多选 3、判断 4、简答
	 */
	@TableField("subject_type")
	private Integer subjectType;
	
	/**
	 * 题目分数
	 */
	@TableField("subject_score")
	private Integer subjectScore;
	
	/**
	 * 题目解析
	 */
	@TableField("subject_parse")
	private String subjectParse;
	
	/**
	 * 创建人
	 */
	@TableField(value = "created_by",fill = FieldFill.INSERT)
	private String createdBy;
	
	/**
	 * 创建时间
	 */
	@TableField(value = "created_time",fill = FieldFill.INSERT)
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
	private LocalDateTime createdTime;
	
	/**
	 * 更新人
	 */
	@TableField(value = "update_by", fill = FieldFill.INSERT_UPDATE)
	private String updateBy;
	
	/**
	 * 更新时间
	 */
	@TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE)
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
	private LocalDateTime updateTime;
	
	/**
	 * 逻辑删除
	 */
	@TableField(value = "is_deleted", fill = FieldFill.INSERT)
	private Integer isDeleted;
	
}
